Ir al contenido

Ajuste fino (aprendizaje profundo)

De Wikipedia, la enciclopedia libre

En el aprendizaje profundo, el ajuste fino es un enfoque para transferir el aprendizaje en el que los pesos de un modelo previamente entrenado se entrenan en datos nuevos.[1]​ El ajuste fino se puede realizar en toda la red neuronal o solo en un subconjunto de sus capas, en cuyo caso las capas que no se ajustan se «congelan» (no se actualizan durante el paso de retropropagación).[2]​ Un modelo también se puede aumentar con «adaptadores» que constan de muchos menos parámetros que el modelo original, y ajustarse de manera eficiente en los parámetros ajustando los pesos de los adaptadores y dejando el resto de los pesos del modelo congelados.[3]

Para algunas arquitecturas, como las redes neuronales convolucionales, es común mantener congeladas las capas anteriores (las más cercanas a la capa de entrada) porque capturan características de nivel inferior, mientras que las capas posteriores a menudo distinguen características de alto nivel que pueden estar más relacionadas con la tarea en la que se entrena al modelo.[2][4]

Los modelos que se entrenan previamente en corpus grandes y generales habitualmente se ajustan reutilizando los parámetros del modelo como punto de partida y agregando una capa específica de la tarea entrenada desde cero.[5]​ El ajuste fino del modelo completo también es común y, a menudo, produce mejores resultados, pero es más costoso desde el punto de vista computacional.[6]

El ajuste fino generalmente se logra con el aprendizaje supervisado, pero también existen técnicas para ajustar un modelo utilizando una supervisión débil.[7]​ El ajuste fino se puede combinar con un aprendizaje de refuerzo a partir del objetivo basado en la retroalimentación humana para producir modelos de lenguaje como ChatGPT (una versión mejorada de GPT-3) y Sparrow.[8][9]

Robustez

[editar]

El ajuste fino puede degradar la solidez de un modelo a los cambios de distribución .[10]​ Una mitigación es interpolar linealmente las ponderaciones de un modelo ajustado con las ponderaciones del modelo original, lo que puede aumentar en gran medida el rendimiento fuera de la distribución y, al mismo tiempo, conservar en gran medida el rendimiento dentro de la distribución del modelo ajustado.

Variantes

[editar]

Adaptación de bajo rango

[editar]

La adaptación de bajo rango (LoRA) es una técnica basada en adaptadores para ajustar modelos de manera eficiente. La idea básica es diseñar una matriz de rango bajo que luego se agrega a la matriz original.[11]

El ajuste fino basado en el adaptador permite un rendimiento que se aproxima al del ajuste fino del modelo completo mientras reduce drásticamente la cantidad de pesos modificados que deben guardarse en el disco. Un modelo de idioma con miles de millones de parámetros puede ajustarse LoRA con solo varios millones de parámetros para guardar, o incluso menos.

El ajuste fino basado en LoRA se ha vuelto popular en la comunidad Stable Diffusion .[12]​ El soporte para LoRA se está integrando en la biblioteca Difusores de Hugging Face .[13]​ El soporte para LoRA y técnicas similares también está disponible para una amplia gama de otros modelos a través del paquete de ajuste fino de eficiencia de parámetros (PEFT) de Hugging Face.[14]

Aplicaciones

[editar]

Procesamiento natural del lenguaje

[editar]

El ajuste fino es común en el procesamiento del lenguaje natural (PNL), especialmente en el dominio del modelado del lenguaje . Los modelos de lenguaje grande como la serie de modelos básicos de GPT de OpenAI se pueden ajustar en tareas de PNL posteriores para mejorar el rendimiento con respecto al modelo preentrenado sin modificar.[6]

Pólemicas

Greg Rutkowski, un artista digital polaco que emplea estilos de pintura clásica para crear paisajes de fantasía, exigió a los gestores del algoritmo generativo Stable Diffusion que excluyesen su nombre de los posibles prompts con los que los usuarios podían pedir imágenes. El estilo de Rutkowsky de gran popularidad se había convertido en uno de los estilos más solicitados por los usuarios, por encima de artistas tan universalmente consagrados como Picasso, Dalí o Van Gogh. De facto cualquier usuario podía hacer las obras de Rutkowsky.

Stable Diffusion reaccionó a la demanda, dejó de ser posible describir una determinada imagen y solicitar que se generase en el estilo de Rutkowski, pero no sirvió para mucho pues la comunidad de Stable Diffusion utilizando el ajuste fino, basado LoRA, fueron capaces de entrenar a una nueva red con obras de Rutkowski para poder seguir generando imágenes con su estilo.[15]

Modelos comerciales

[editar]

Los modelos de lenguaje que se ofrecen comercialmente a veces se pueden ajustar si el proveedor ofrece una API de ajuste fino. A partir del 19 de junio de 2023, OpenAI y Azure OpenAI Service de Microsoft Azure ofrecen API de ajuste fino del modelo de lenguaje para un subconjunto de sus modelos, así como Google Cloud Platform para algunos de sus modelos PaLM y otros.[16][17][18]​ No todos los modelos comerciales admiten ajustes finos; en particular, GPT-3.5 y GPT-4 de OpenAI aún no admiten ajustes por parte de los desarrolladores.

Véase también

[editar]

Referencias

[editar]
  1. Quinn, Joanne (2020). Dive into deep learning: tools for engagement. Thousand Oaks, California. p. 551. ISBN 978-1-5443-6137-6. Consultado el 10 de enero de 2023. 
  2. a b «CS231n Convolutional Neural Networks for Visual Recognition». cs231n.github.io. Consultado el 9 de marzo de 2023. 
  3. . Advances in Neural Information Processing Systems 35. Curran Associates, Inc. 2022. pp. 1950-1965. 
  4. Zeiler, Matthew D; Fergus, Rob (2013). Visualizing and Understanding Convolutional Networks. arXiv:1311.2901. 
  5. Dodge, Jesse; Ilharco, Gabriel; Schwartz, Roy; Farhadi, Ali; Hajishirzi, Hannaneh; Smith, Noah (2020). Fine-Tuning Pretrained Language Models: Weight Initializations, Data Orders, and Early Stopping. arXiv:2002.06305. 
  6. a b Dingliwal, Saket; Shenoy, Ashish; Bodapati, Sravan; Gandhe, Ankur; Gadde, Ravi Teja; Kirchhoff, Katrin (2021). Prompt Tuning GPT-2 language model for parameter-efficient domain adaptation of ASR systems. arXiv:2112.08718. 
  7. Yu, Yue; Zuo, Simiao; Jiang, Haoming; Ren, Wendi; Zhao, Tuo; Zhang, Chao (2020). Fine-Tuning Pre-trained Language Model with Weak Supervision: A Contrastive-Regularized Self-Training Approach. arXiv:2010.07835. 
  8. «Introducing ChatGPT». openai.com. Consultado el 9 de marzo de 2023. 
  9. Glaese, Amelia; McAleese, Nat; Trębacz, Maja; Aslanides, John; Firoiu, Vlad; Ewalds, Timo; Rauh, Maribeth; Weidinger, Laura et al. (2022). Improving alignment of dialogue agents via targeted human judgements. arXiv:2209.14375. 
  10. Kumar, Ananya; Raghunathan, Aditi; Jones, Robbie; Ma, Tengyu; Liang, Percy (2022). Fine-Tuning can Distort Pretrained Features and Underperform Out-of-Distribution. arXiv:2202.10054. 
  11. Hu, Edward J.; Shen, Yelong; Wallis, Phillip; Allen-Zhu, Zeyuan; Li, Yuanzhi; Wang, Shean; Wang, Lu; Chen, Weizhu (28 de enero de 2022). LoRA: Low-Rank Adaptation of Large Language Models (en inglés). 
  12. Ryu, Simo (13 de febrero de 2023). «Using Low-rank adaptation to quickly fine-tune diffusion models». GitHub. Consultado el 19 de junio de 2023. 
  13. Cuenca, Pedro (26 de enero de 2023). «Using LoRA for Efficient Stable Diffusion Fine-Tuning». Hugging Face. Consultado el 19 de junio de 2023. 
  14. «Parameter-Efficient Fine-Tuning using 🤗 PEFT». huggingface.co. Consultado el 20 de junio de 2023. 
  15. «¿A quién pertenece un estilo? Artículo de Enrique Dans». 
  16. «Fine-tuning». OpenAI. Consultado el 19 de junio de 2023. 
  17. «Learn how to customize a model for your application». Microsoft. Consultado el 19 de junio de 2023. 
  18. «Tune text foundation models». Google. Consultado el 19 de junio de 2023.